An empirical study of Java bytecode programs
نویسندگان
چکیده
We present a study of the static structure of real Java bytecode programs. A total of 1132 Java jar-files were collected from the Internet and analyzed. In addition to simple counts (number of methods per class, number of bytecode instructions per method, etc.), structural metrics such as the complexity of controlflow and inheritance graphs were computed. We believe this study will be valuable in the design of future programming languages and virtual machine instruction sets, as well as in the efficient implementation of compilers and other language processors. Copyright c © 2006 John Wiley & Sons, Ltd.
منابع مشابه
Java Bytecode Veri cation Using Model Checking?
We provide an abstract interpretation for Java bytecode programs to build nite state models of these programs. We describe the bytecode constraints as CTL formulas which can be checked against the nite models by a (standard) model checker. We see a practical way to perform bytecode veri cation on a formal basis in that it could help to achieve higher security and open the door for further exten...
متن کاملHarissa: a Flexible and Eecient Java Environment Mixing Bytecode and Compiled Code
The Java language provides a promising solution to the design of safe programs, with an application spectrum ranging from Web services to operating system components. The well-known tradeoo of Java's portabil-ity is the ineeciency of its basic execution model, which relies on the interpretation of an object-based virtual machine. Many solutions have been proposed to overcome this problem, such ...
متن کاملJava Bytecode Veriication Using Model Checking ?
We provide an abstract interpretation for Java bytecode in order to build nite state models of bytecode programs. The bytecode constraints for assuring safety are formulated in terms of temporal logic formulae. These formulae are checked against the nite program models by a (standard) model checker. By doing so we see a practical way to perform bytecode veriication on a formal basis. This could...
متن کاملJava bytecode Verification using Analysis and Transformation of Logic Programs
State of the art analyzers in the (Constraint) Logic Programming paradigm (or (C)LP for short) are nowadays mature and sophisticated. They allow inferring a wide variety of global properties including termination, run-time error freeness, bounds on resource consumption, etc. The aim of this work is to automatically transfer the power of such analysis tools for LP to the analysis and verificatio...
متن کاملRun-Time Program Specialization in Java Bytecode
Run-time specialization (RTS) is a technique that efficiently generates specialized programs with respect to runtime values. For efficiently generating specialized programs, RTS constructs compiled native code fragments called templates at compile-time, and generates a specialized program by merely copying the templates. The generated programs are, on the other hand, less efficient, since the t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Softw., Pract. Exper.
دوره 37 شماره
صفحات -
تاریخ انتشار 2007